package com.shangrila.biz.dao.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

import com.shangrila.biz.common.ShangrilaItemQuery;
import com.shangrila.biz.dao.ShangrilaItemDao;
import com.shangrila.biz.pojo.ShangrilaItem;
import com.shangrila.common.lang.CalendarUtil;

public class DefaultShangrilaItemDao extends SqlMapClientDaoSupport implements ShangrilaItemDao{

	@Override
	public void save(ShangrilaItem item) {
		item.checkBeforeInsert();
		getSqlMapClientTemplate().insert("DefaultShangrilaItemDao.save",item);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<ShangrilaItem> query(ShangrilaItemQuery query) {
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("categoryLevel1", query.getCategoryLevel1());
		map.put("categoryLevel2", query.getCategoryLevel2());
		map.put("start", query.getStart());
		map.put("end", query.getEnd());
		String sqlDate = CalendarUtil.formatDate(query.getDate(), CalendarUtil.DATE_FMT_3);
		map.put("showDate", sqlDate);
		return getSqlMapClientTemplate().queryForList("DefaultShangrilaItemDao.query",map);
	}

}
